package com.xfg.domain.strategy.service.rule.chain;

import com.xfg.domain.strategy.service.rule.chain.factory.DefaultChainFactory;

/**
 * 责任链接口
 * <p>
 * 定义策略规则链的核心逻辑处理方法，用于执行特定用户在指定策略下的业务逻辑判断
 * </p>
 */
public interface ILogicChain extends ILogicChainArmory {

    /**
     * 执行责任链的核心业务逻辑
     *
     * @param userId     用户ID，用于标识当前执行逻辑的用户身份
     * @param strategyId 策略ID，用于确定需要应用的具体策略规则
     * @return 逻辑执行结果，返回奖品Id
     */
    DefaultChainFactory.StrategyAwardVO logic(String userId, Long strategyId);


}

